package com.raitcon.hibernate.bean;
// Generated 27/05/2014 07:54:56 AM by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Capacidad generated by hbm2java
 */
@Entity
@Table(name="capacidad"
    ,schema="public"
)
public class Capacidad  implements java.io.Serializable {


     private int idCapacidad;
     private Mes mesByMesIdmes;
     private Mes mesByIdMes;
     private Area areaByIdArea;
     private Area areaByAreaIdarea;
     private String descripcion;
     private String abreviatura;
     private Set<DetalleNota> detalleNotas = new HashSet<DetalleNota>(0);
     private Set<CriterioEvalAsig> criterioEvalAsigs = new HashSet<CriterioEvalAsig>(0);

    public Capacidad() {
    }
    
    public Capacidad(int idCapacidad) {
        this.idCapacidad = idCapacidad;
    }

	
    public Capacidad(int idCapacidad, Mes mesByIdMes, Area areaByIdArea, String descripcion) {
        this.idCapacidad = idCapacidad;
        this.mesByIdMes = mesByIdMes;
        this.areaByIdArea = areaByIdArea;
        this.descripcion = descripcion;
    }
    public Capacidad(int idCapacidad, Mes mesByMesIdmes, Mes mesByIdMes, Area areaByIdArea, Area areaByAreaIdarea, String descripcion, String abreviatura, Set<DetalleNota> detalleNotas, Set<CriterioEvalAsig> criterioEvalAsigs) {
       this.idCapacidad = idCapacidad;
       this.mesByMesIdmes = mesByMesIdmes;
       this.mesByIdMes = mesByIdMes;
       this.areaByIdArea = areaByIdArea;
       this.areaByAreaIdarea = areaByAreaIdarea;
       this.descripcion = descripcion;
       this.abreviatura = abreviatura;
       this.detalleNotas = detalleNotas;
       this.criterioEvalAsigs = criterioEvalAsigs;
    }
   
     @Id 
    
    @Column(name="id_capacidad", unique=true, nullable=false)
    public int getIdCapacidad() {
        return this.idCapacidad;
    }
    
    public void setIdCapacidad(int idCapacidad) {
        this.idCapacidad = idCapacidad;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="mes_idmes")
    public Mes getMesByMesIdmes() {
        return this.mesByMesIdmes;
    }
    
    public void setMesByMesIdmes(Mes mesByMesIdmes) {
        this.mesByMesIdmes = mesByMesIdmes;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_mes", nullable=false)
    public Mes getMesByIdMes() {
        return this.mesByIdMes;
    }
    
    public void setMesByIdMes(Mes mesByIdMes) {
        this.mesByIdMes = mesByIdMes;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_area", nullable=false)
    public Area getAreaByIdArea() {
        return this.areaByIdArea;
    }
    
    public void setAreaByIdArea(Area areaByIdArea) {
        this.areaByIdArea = areaByIdArea;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="area_idarea")
    public Area getAreaByAreaIdarea() {
        return this.areaByAreaIdarea;
    }
    
    public void setAreaByAreaIdarea(Area areaByAreaIdarea) {
        this.areaByAreaIdarea = areaByAreaIdarea;
    }
    
    @Column(name="descripcion", nullable=false)
    public String getDescripcion() {
        return this.descripcion;
    }
    
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }
    
    @Column(name="abreviatura")
    public String getAbreviatura() {
        return this.abreviatura;
    }
    
    public void setAbreviatura(String abreviatura) {
        this.abreviatura = abreviatura;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="capacidad")
    public Set<DetalleNota> getDetalleNotas() {
        return this.detalleNotas;
    }
    
    public void setDetalleNotas(Set<DetalleNota> detalleNotas) {
        this.detalleNotas = detalleNotas;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="capacidad")
    public Set<CriterioEvalAsig> getCriterioEvalAsigs() {
        return this.criterioEvalAsigs;
    }
    
    public void setCriterioEvalAsigs(Set<CriterioEvalAsig> criterioEvalAsigs) {
        this.criterioEvalAsigs = criterioEvalAsigs;
    }




}


